
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
 */
package objects;

//~--- JDK imports ------------------------------------------------------------

import java.util.ArrayList;

/**
 *
 * @author lab18204
 */
public class Actividad {
    private int                    HL;
    private int                    HT;
    private int                    TFC;
    private int                    TFL;
    private int                    TIC;
    private int                    TIL;
    private int                    duracion;        // Duracion de esta actividad
    private boolean                esFicticia;
    private boolean                esRutaCritica;
    private boolean                iniciaOtraRuta;
    private int                    numeroActividad;
    private int                    numeroVisitas;
    private ArrayList<Actividad>   predecesoras;    // Referencia a las actividades predecesoras
    private float                  proporcionGlobal;
    private float                  proporcionRestriccion;
    private float                  proporcionTiempo;
    private ArrayList<Restriccion> restricciones;
    private ArrayList<Actividad>   sucesoras;       // Referencia a las actividades sucesoras
    private int                    x;
    private int                    y;

    public Actividad() {
        esRutaCritica   = false;
        esFicticia      = false;
        predecesoras    = new ArrayList<Actividad>();
        sucesoras       = new ArrayList<Actividad>();
        duracion        = 0;
        numeroVisitas   = 0;
        numeroActividad = -5;
        restricciones   = new ArrayList<Restriccion>();
    }

    public boolean isIniciaOtraRuta() {
        return iniciaOtraRuta;
    }

    public void setIniciaOtraRuta(boolean iniciaOtraRuta) {
        this.iniciaOtraRuta = iniciaOtraRuta;
    }

    public boolean isEsFicticia() {
        return esFicticia;
    }

    public boolean getEsFicticia() {
        return esFicticia;
    }

    public void setEsFicticia(boolean esFicticia) {
        this.esFicticia = esFicticia;
    }

    public int getNumeroVisitas() {
        return numeroVisitas;
    }

    public void incVisita() {
        numeroVisitas++;
    }

    ;
    public boolean isEsRutaCritica() {
        return esRutaCritica;
    }

    public void setEsRutaCritica(boolean esRutaCritica) {
        this.esRutaCritica = esRutaCritica;
    }

    public float getProporcionGlobal() {
        return proporcionGlobal;
    }

    public void setProporcionGlobal(float proporcionGlobal) {
        this.proporcionGlobal = proporcionGlobal;
    }

    public float getProporcionRestriccion() {
        return proporcionRestriccion;
    }

    public void setProporcionRestriccion(float proporcionRestriccion) {
        this.proporcionRestriccion = proporcionRestriccion;
    }

    public float getProporcionTiempo() {
        return proporcionTiempo;
    }

    public void setProporcionTiempo(float proporcionTiempo) {
        this.proporcionTiempo = proporcionTiempo;
    }

    public int getNumeroActividad() {
        return numeroActividad;
    }

    public void setNumeroActividad(int numeroActividad) {
        this.numeroActividad = numeroActividad;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public int getDuracion() {
        return duracion;
    }

    public void setDuracion(int duracion) {
        this.duracion = duracion;
    }

    public ArrayList<Actividad> getPredecesoras() {
        return predecesoras;
    }

    public void setPredecesoras(ArrayList<Actividad> predecesoras) {
        this.predecesoras = predecesoras;
    }

    public ArrayList<Restriccion> getRestricciones() {
        return restricciones;
    }

    public void setRestricciones(ArrayList<Restriccion> restricciones) {
        this.restricciones = restricciones;
    }

    public ArrayList<Actividad> getSucesoras() {
        return sucesoras;
    }

    public void setSucesoras(ArrayList<Actividad> sucesoras) {
        this.sucesoras = sucesoras;
    }

    public int getHL() {
        return HL;
    }

    public void setHL(int HL) {
        this.HL = HL;
    }

    public int getHT() {
        return HT;
    }

    public void setHT(int HT) {
        this.HT = HT;
    }

    public int getTFC() {
        return TFC;
    }

    public void setTFC(int TFC) {
        this.TFC = TFC;
    }

    public int getTFL() {
        return TFL;
    }

    public void setTFL(int TFL) {
        this.TFL = TFL;
    }

    public int getTIC() {
        return TIC;
    }

    public void setTIC(int TIC) {
        this.TIC = TIC;
    }

    public int getTIL() {
        return TIL;
    }

    public void setTIL(int TIL) {
        this.TIL = TIL;
    }

    @Override
    public String toString() {
        return String.valueOf(getNumeroActividad());
    }

    public void añadirPredecesora(Actividad predecesora) {
        predecesoras.add(predecesora);
    }

    public void añadirSucesora(Actividad sucesora) {
        sucesoras.add(sucesora);
    }
}
